# Jak utworzyć własne Client ID (Microsoft/Xbox Login)

Jeśli domyślne Client ID nie działa, możesz utworzyć własne w portalu Azure. Jest to darmowe i wymaga tylko konta Microsoft.

## 1. Rejestracja aplikacji w Azure
1. Wejdź na stronę [Azure Portal - App Registrations](https://portal.azure.com/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/RegisteredApps).
2. Zaloguj się swoim kontem Microsoft.
3. Kliknij przycisk **"New create"** (Nowa rejestracja) w lewym górnym rogu.

## 2. Konfiguracja
W formularzu rejestracji:
- **Name**: Wpisz nazwę swojego klienta, np. `Halo Client`.
- **Supported account types**: Wybierz **"Accounts in any organizational directory (Any Azure AD directory - Multitenant) and personal Microsoft accounts (e.g. Skype, Xbox)"**.
  - *To jest krytyczne, aby gracze mogli logować się swoimi prywatnymi kontami.*
- **Redirect URI**:
  - Wybierz platformę: **Public client/native (mobile & desktop)**.
  - Wpisz URI: `http://localhost`.
- Kliknij **Register**.

## 3. Aktywacja Public Client Flow
Po utworzeniu aplikacji, zostaniesz przeniesiony do jej panelu.
1. W menu po lewej wybierz **Authentication**.
2. Zjedź na sam dół do sekcji **Advanced settings**.
3. Odszukaj opcję **Allow public client flows**.
4. Zaznacz **Yes**.
5. Kliknij **Save** u góry.

## 4. Kopiowanie ID do kodu
1. Wróć do zakładki **Overview** (Przegląd) w menu po lewej.
2. Skopiuj wartość pola **Application (client) ID**.
3. Otwórz plik: `src/client/java/cc/kamshi/utility/player/MicrosoftLoginUtility.java`.
4. Podmień wartość stałej `CLIENT_ID`:

```java
private static final String CLIENT_ID = "TWÓJ-SKOPIOWANY-ID";
```

## Ważne
Standardowe Client ID używane w kodzie (`00000000402b5328-3065...`) to oficjalne ID Minecraft Launchera. Błąd `400` który widziałeś wcześniej wynikał najprawdopodobniej ze złego kodowania znaków w URL (spacja w `scope`), co zostało naprawione w ostatniej aktualizacji.
Sugeruję najpierw spróbować uruchomić klienta z obecną poprawką. Jeśli nadal nie działa, wtedy utwórz własne ID.
